<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!--
Design by Free CSS Templates
http://www.freecsstemplates.org
Released for free under a Creative Commons Attribution 2.5 License
-->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>CSC560 Design and Analysis of Real-Time Systems</title>
<meta name="keywords" content="CSC560" />
<meta name="description" content="CSC560" />
<link href="../default.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="wrapper">
	<div id="header">
		<h1>CSC560</h1>
		<h2>Design and Analysis of Real-Time Systems</h2>
		<ul>
			<li class="first"> <a href="../index.html" accesskey="1" title="">Home</a> </li>
			<li> <a href="../project1/index.html" accesskey="2" title="">Project 1</a>	</li>
			<li> <a href="../project2/index.html" accesskey="3" title="">Project 2</a> </li>
			<li> <a href="index.html" accesskey="4" title=""><b>Project 3</b></a> </li>
			<li> <a href="../project4/index.html" accesskey="4" title="">Project 4</a> </li>
			<li> <a href="../project5/index.html" accesskey="4" title="">Project 5</a> </li>
		</ul>
	</div>
</div>
<div id="content">
	<div id="colOne">
		<h2>Project 3</h2>
		<p>
			In this project, we are required to modify RTOS to support the following features:<br>
			<ul>
				<li> 1. a bounded round robin (BRR) scheduling policy </li>
				<li> 2. a timed mutex </li>
				<li> 3. a set of test cases for BRR and timed mutex </li>
			</ul>
			
			In the report, for BRR and timed mutex features, we will discuss the following:<br><br>
			<i>- requirements (what we implemented)<br>
			- development process (how we implemented it)<br>
			- challenges (what did we face)<br><br>
			</i>
			and for the set of test cases, we will discuss the following:<br><br>
			<i>
				- test cases summary<br>
				- discussion of 3 most important test cases for BRR<br>
				- discussion of 3 most important test cases for timed mutex<br><br>
			</i>
		</p>
		<h3>1. Bounded Round Robin</h3>
		<p>
			In project 2, one of the scheduling policy used is round robin (RR).    
			It allows a task to run for a maximum of 1 tick before it preempts to allow another      
			RR tasks to run. 
		</p>
		<p>	
			In this project, we are required to extend RR 
			by allowing it to contiguously run for multiple clock ticks. In order to 
			achieve this task, we must specify ahead of time a quantum which will give 
			an indication of the number of ticks it needs to run. For example, a quantum
			of 3 specifies that the task needs to run for 3 tick.
		</p>
		<h3>2. Timed Mutex</h3>
		<p> 
			The second feature the RTOS must support is the introduction of timed mutex. A timed mutex 
			is a bounded form of mutexes. For example, a system or BRR task may lock a mutex for 
			a maximum number of ticks. The task must be successful in releasing the mutex before the
			the number of ticks has expired. Otherwise, a timing violation will occur.
		</p>
		<h3>3. Test Cases</h3>
		<p> 
			The third feature is to implement a set of test cases to demonstrate 
			that our solution follows the specifications of BRR and timed mutex. For each test case, 
			we will include the following information:
			<ul>
				<li> 1. Test Case Objective </li>
				<li> 2. Test Case Description </li>
				<li> 3. Test Case Result (expected output)</li>
			</ul>
		</p>
		<h3>4. State Diagram</h3>
		<p> 
			 We have created the following two state diagrams to guide us through the scheduling of tasks in RTOS.
			 The focus is on BRR and timed mutex.
			 <br><br>
			 Tasks State Diagram
			 <br>
			 <a href="images/state_diagram.jpg"><img src="images/state_diagram.jpg" alt="State Diagram" /></a>
			 <br><br>
			 Mutex State Diagram
			 <br><br>
			 <a href="images/state_diagram_mutex.jpg"><img src="images/state_diagram_mutex.jpg" alt="Mutex State Diagram" /></a>
		</p>
	</div>
	<div id="colTwo">
		<h3>Project Sections</h3>
		<ul>
			<li class="first"><a href="part1_brr.html">Bounded Round Robin</a></li>
			<li><a href="part2_mutex.html">Timed Mutex</a></li>
			<li><a href="part3_test_cases.html">Test Cases</a></li>
			<li><a href="part4_logic_analyzer.html">Logic Analyzer</a></li>
			<li><a href="doxygen/html/index.html">Doxygen</a></li>
			<li><a href="http://code.google.com/p/wireless-roomba">Google Code</a></li>
		</ul>
	</div>
</div>
<div id="footer">
	<p>
		@ 2009. All Rights Reserved. Design by 
		<a href="http://www.freecsstemplates.org/">Free CSS Templates</a>.
	</p>
</div>
</body>
</html>
